/// 选择基础类
abstract class ChoiceBean {
  /// 是否选中
  bool _isChecked = false;

  ///获取id字段
  String getId();

  ///获取显示的名称字段
  String getShowName();

  ///设置是否已经选择
  setIsChecked(bool isChecked) => _isChecked = isChecked;

  /// 是否已经选择
  bool getIsChecked() => _isChecked;
}

/// 简单的选择基础类
class SimpleChoiceBean<T> extends ChoiceBean {
  SimpleChoiceBean({this.id, this.value, bool isChecked = false, this.orderNum = 0}) {
    setIsChecked(isChecked);
  }

  final String? id;
  final T? value;
  final int orderNum; // 排序

  @override
  String toString() {
    return this.toString();
  }

  @override
  String getId() {
    return id ?? '';
  }

  @override
  String getShowName() {
    return value.toString();
  }
}
